package org.rambadger.command.command;

import org.axonframework.commandhandling.annotation.TargetAggregateIdentifier;
import org.rambadger.command.validation.UrlIdentifier;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

public class ClaimSubmissionForReview {
    //Compound Key {
    @TargetAggregateIdentifier
    private final String submitterId;
    private final int submissionId;
    //}
    private final String reviewerId;

    public ClaimSubmissionForReview(String submitterId, int submissionId, String reviewerId) {
        this.submitterId = submitterId;
        this.submissionId = submissionId;
        this.reviewerId = reviewerId;
    }

    @UrlIdentifier @NotNull
    public String getSubmitterId() {
        return submitterId;
    }

    @Min(1)
    public int getSubmissionId() {
        return submissionId;
    }

    @UrlIdentifier @NotNull
    public String getReviewerId() {
        return reviewerId;
    }
}
